﻿using HrEFCore;
using HrEFCore.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HrIService
{
	public interface IERService
	{
		Task<int> AddERAsync(ER er);//添加
		Task<CFTK> cftkById(string id);//三级机构下拉列表,根据id查name，三级

		Task<CMK> SelectCMKById(string id);//职位分类
		Task<CM> SelectCMById(string id);//职业名称
		Task<SSD> SelectSSDById(string id);//薪酬标准

		IEnumerable<ER> GetERByCondition(string condition);//根据  姓名，电话，身份证号码，个人履历  进行模糊查询

        //模糊 姓名 电话 身份证号码 个人履历 日期时间
        //Task<List<ER>> FuzzySearch(string keyword, string majorKindId, string majorId, DateTime? startDate, DateTime? endDate);

        //模糊 职业分类 职业名称 姓名，电话，身份证号码，个人履历  登记时间 复核时间
        //List<ER> SearchER(string majorKind, string majorName, string humanName, string telephone, string idcard, string historyRecords, DateTime? startDate, DateTime? endDate)
        List<ERView> GetPagedERView(int page, int pageSize);//面试管理--面试结果登记分页
		List<ERView2> GetPagedERView2(int page, int pageSize);//面试管理--面试筛选分页
		List<ER> ERCXresId(short resId);//根据resId查询ER所有数据的逻辑
        Task<int> AddEIAsync(EI ei);//添加EI表数据
        Task<ERCheckIn> CheckIn(short resId);//面试结果登记中的ER表的数据
		Task<ERSift> ERSiftEI(short resId);//面试筛选中的ER表和EI表的数据
		Task<int> Revise(short resId,string passCheckComment,string attachmentName,string checker);//根据resId修改ER中的PassCheckComment和AttachmentName和HumanPicture和checker数据
		List<ERHired> Hired(int page, int pageSize);//录用管理中的录用申请的ER表中的数据
		List<ERHired2> Hired2(int page, int pageSize);//录用管理中的录用审批的ER表中的数据
		List<ERHired3> Hired3(int page, int pageSize);//录用管理中的录用查询的ER表中的数据
		

		Task<int> ReviseInterviewStatus(short resId, short interviewStatus);//根据resId修改ER中的InterviewStatus数据 
		Task<int> RevisePassCheckComment(short resId, string passCheckComment);//根据resId修改ER中的PassCheckComment数据
		Task<int> RevisePassPassComment(short resId, string passPassComment);//根据resId修改ER中的PassCheckComment数据


		Task<ERHiredApplication> ERHiredApplicationEI(short resId);//录用管理--录用申请中的申请页面
		Task<ERHiredApproval> ERHiredApproval(short resId);//录用管理--录用审批中的审批页面
		Task<ERHiredInquire> ERHiredInquire(short resId);//录用管理--录用查询中的查询页面

		Task<ER> SelectERById(short id);//根据Id查这一条 筛选
		Task<int> Update(ER er);//修改
		Task<FenYe2<ER>> SelectAllFYERAsync(FenYe2<ER> fenYe);//简历登记分页查询
		Task<List<CM>> SelectNameLD(string id);//职业分类和职业名称的联动
		Task<FenYe2<ER>> SelectFYTJER(int CurrentPage, int PageSize, string where);//条件分页查询

		Task<EMR>  EMRById(short MreId);
		Task<ER> ERById(short id);
	}
}
